package com.redoor.app.stake.basicdata.model.controllerModel;

import io.swagger.annotations.ApiModelProperty;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
* Created by wangjunlei on 2018-02-12 10:08:10.
*/
public class BaseStakeCriteria {

    /**
     * 最大限制
     */
    @ApiModelProperty(value = "最大限制", required = true)
    private int limit = -1;

    private List<String> uncode;

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public int getOffset() {
        return offset;
    }

    public void setOffset(int offset) {
        this.offset = offset;
    }

    /**
     * 起始位置
     */
    @ApiModelProperty(value = "起始位置", required = true)
    private int offset = -1;

    @ApiModelProperty(value = "桩主键", required = false)
    private String uuid;

    /**
     * 充电站uuid
     */
    @ApiModelProperty(value = "充电站uuid", required = false)
    private String stationuuid;

    /**
     * 充电桩编号
     */
    @ApiModelProperty(value = "充电桩编号", required = false)
    private String stakeno;

    /**
     * 互联互通充电桩编号
     */
    @ApiModelProperty(value = "互联互通充电桩编号", required = false)
    private String outstakeno;

    /**
     * 充电桩名称
     */
    @ApiModelProperty(value = "充电桩名称", required = false)
    private String stakename;

    /**
     * 数据类型
     */
    @ApiModelProperty(value = "交直流类型", required = false)
    private Integer type;

    /**
     * 交易方式
     */
    @ApiModelProperty(value = "交易方式，逗号分隔", required = false)
    private String tradetypes;

    /**
     * 生产厂商uuid
     */
    @ApiModelProperty(value = "生产厂商uuid", required = false)
    private String vendoruuid;

    /**
     * 设备型号uuid
     */
    @ApiModelProperty(value = "设备型号uuid", required = false)
    private String equipmodeluuid;

    /**
     * 注册码uuid
     */
    @ApiModelProperty(value = "注册码uuid", required = false)
    private String registrationuuid;

    /**
     * 授权码
     */
    @ApiModelProperty(value = "授权码", required = false)
    private String authcode;

    /**
     * 指纹识别
     */
    @ApiModelProperty(value = "指纹识别", required = false)
    private String fingerpint;

    /**
     * 充电桩状态
     */
    @ApiModelProperty(value = "充电桩状态", required = false)
    private Integer stakestatus;

    /**
     * 是否已调试
     */
    @ApiModelProperty(value = "是否已调试", required = false)
    private Integer isdebugging;

    /**
     * 接入方式
     */
    @ApiModelProperty(value = "接入方式：国网0,1", required = false)
    private List<Integer> isthirds = new ArrayList<Integer>();

    /**
     * 公专用类型
     */
    @ApiModelProperty(value = "公专用类型", required = false)
    private Integer staketype;

    /**
     * 充电站名称
     */
    @ApiModelProperty(value = "充电站名称", required = false)
    private String stationname;

    /**
     * 产权单位
     */
    @ApiModelProperty(value = "充电站产权单位", required = false)
    private String prorgcode;

    /**
     * 是否需要查询产权单位子集
     */
    @ApiModelProperty(value = "是否需要查询产权单位子集", required = false)
    private boolean prChild = false;
    /**
     * 省市区组织机构
     */
    @ApiModelProperty(value = "充电站组织机构", required = false)
    private String orgcode;

    /**
     * 连接站标记
     */
    private int joinstationflag = 0;

    /**
     * 桩投运开始时间
     */
    @ApiModelProperty(value = "桩投运开始时间", required = false)
    private String runtime_start;

    /**
     * 桩投运结束时间
     */
    @ApiModelProperty(value = "桩投运结束时间", required = false)
    private String runtime_end;


    public boolean isPrChild() {
        return prChild;
    }

    public void setPrChild(boolean prChild) {
        this.prChild = prChild;
    }

    public String getProrgcode() {
        return prorgcode;
    }

    public void setProrgcode(String prorgcode) {
        this.prorgcode = prorgcode;
    }

    public String getOrgcode() {
        return orgcode;
    }

    public void setOrgcode(String orgcode) {
        this.orgcode = orgcode;
    }

    public int getJoinstationflag() {
        if(!StringUtils.isEmpty(this.stationname) || !StringUtils.isEmpty(this.prorgcode) || !StringUtils.isEmpty(this.orgcode)){
            joinstationflag = 1;
        }
        return joinstationflag;
    }

    public String getStationname() {
        return stationname;
    }

    public void setStationname(String stationname) {
        this.stationname = stationname;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getStationuuid() {
        return stationuuid;
    }

    public void setStationuuid(String stationuuid) {
        this.stationuuid = stationuuid;
    }

    public String getStakeno() {
        return stakeno;
    }

    public void setStakeno(String stakeno) {
        this.stakeno = stakeno;
    }

    public String getOutstakeno() {
        return outstakeno;
    }

    public void setOutstakeno(String outstakeno) {
        this.outstakeno = outstakeno;
    }

    public String getStakename() {
        return stakename;
    }

    public void setStakename(String stakename) {
        this.stakename = stakename;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTradetypes() {
        return tradetypes;
    }

    public void setTradetypes(String tradetypes) {
        this.tradetypes = tradetypes;
    }

    public String getVendoruuid() {
        return vendoruuid;
    }

    public void setVendoruuid(String vendoruuid) {
        this.vendoruuid = vendoruuid;
    }

    public String getEquipmodeluuid() {
        return equipmodeluuid;
    }

    public void setEquipmodeluuid(String equipmodeluuid) {
        this.equipmodeluuid = equipmodeluuid;
    }

    public String getRegistrationuuid() {
        return registrationuuid;
    }

    public void setRegistrationuuid(String registrationuuid) {
        this.registrationuuid = registrationuuid;
    }

    public String getAuthcode() {
        return authcode;
    }

    public void setAuthcode(String authcode) {
        this.authcode = authcode;
    }

    public String getFingerpint() {
        return fingerpint;
    }

    public void setFingerpint(String fingerpint) {
        this.fingerpint = fingerpint;
    }

    public Integer getStakestatus() {
        return stakestatus;
    }

    public void setStakestatus(Integer stakestatus) {
        this.stakestatus = stakestatus;
    }

    public Integer getIsdebugging() {
        return isdebugging;
    }

    public void setIsdebugging(Integer isdebugging) {
        this.isdebugging = isdebugging;
    }

    public List<Integer> getIsthirds() {
        return isthirds;
    }

    public void setIsthirds(List<Integer> isthirds) {
        this.isthirds = isthirds;
    }

    public Integer getStaketype() {
        return staketype;
    }

    public void setStaketype(Integer staketype) {
        this.staketype = staketype;
    }

    public String getRuntime_start() {
        return runtime_start;
    }

    public void setRuntime_start(String runtime_start) {
        this.runtime_start = runtime_start;
    }

    public String getRuntime_end() {
        return runtime_end;
    }

    public void setRuntime_end(String runtime_end) {
        this.runtime_end = runtime_end;
    }

    public List<String> getUncode() {
        return uncode;
    }

    public void setUncode(List<String> uncode) {
        this.uncode = uncode;
    }
}
